একটি কলাম কতটি ভ্যালু গ্রহণ করবে তার রেঞ্জ নির্ধারন করতে CHECKকনস্ট্রেইন্ট(Constraint) ব্যবহার করা হয়। আপনি যদি একটি নির্দিষ্ট কলামের জন্য CHECKকনস্ট্রেইন্ট নির্ধারন করে দেন তাহলে এটি শুধুমাত্র ঐ কলামের ভ্যালুর জন্যই প্রযোজ্য হবে। আপনি যদি একটি টেবিলের জন্য কনস্ট্রেইন্ট ডিফাইন করে থাকেন তাহলে তা টেবিলে অন্তর্ভূূক্ত সকল কলামের জন্যই প্রযোজ্য হবে।
নিম্নের SQL স্টেটমেন্টটি "Student_details" টেবিল তৈরী করার সময় "Id" কলামে CHECKকনস্ট্রেইন্ট সেট করবে। এক্ষেত্রে CHECKকনস্ট্রেইন্ট নির্ধারন করে দিবে যেন "Id" কলামের ভ্যালু-সমূহ শূণ্য(0) থেকে বড় হয়।
MySQL এর জন্যঃ
CREATE TABLE Student_details(
Id int NOT NUll,
Roll_number varchar(255),
Student_name varchar(255),
Institute varchar(255),
Address varchar(255),
CHECK (Id>0)
);
Oracle/SQL Server/MS Acces এর জন্যঃ
CREATE TABLE Student_details(
Id int NOT NUll CHECK (Id>0),
Roll_number varchar(255),
Student_name varchar(255),
Institute varchar(255),
Address varchar(255)
);
একটি CHECKকনস্ট্রেইন্ট এর নাম দেওয়ার জন্য এবং একাধিক কলামে CHECKকনস্ট্রেইন্ট ডিফাইন করার জন্য নিম্নের SQL সিনট্যাক্সটি ব্যবহার করা হয়।
MySQL / SQL Server / Oracle / MS Access এর জন্যঃ
CREATE TABLE Student_details(
Id int NOT NUll,
Roll_number varchar(255),
Student_name varchar(255),
Institute varchar(255),
Address varchar(255),
CONSTRAINT check_student CHECK (Id>0 AND Address='জাতীয় বিশ্ববিদ্যালয়')
);
ডেটাবেজে পূর্ব থেকে বিদ্যমান একটি টেবিলের "Id" কলামে CHECK সেট করতে ALTER TABLE স্টেটমেন্টটের সাথে নিম্নের ন্যায় ADD CHECK কনস্ট্রেইন্ট ব্যবহার করা হয়ঃ
MySQL/Oracle/SQL Server/MS Access এর জন্যঃ
ALTER TABLE Student_details
ADD CHECK (Id>0);
একটি CHECKকনস্ট্রেইন্ট এর নাম দেওয়ার জন্য এবং একাধিক কলামে CHECKকনস্ট্রেইন্ট ডিফাইন করার জন্য নিম্নের SQL সিনট্যাক্সটি ব্যবহার করা হয়।
MySQL/Oracle/SQL Server/MS Access এর জন্যঃ
ALTER TABLE Student_details
ADD CONSTRAINT check_student CHECK (Id>0 AND Address='জাতীয় বিশ্ববিদ্যালয়');
একটি CHECKকনস্ট্রেইন্ট ডিলেট করতে, নিম্নের SQL সিনট্যাক্সটি ব্যবহার করা হয়ঃ
MySQL এর জন্যঃ
ALTER TABLE Student_details
DROP CHECK check_student;
MySQL/Oracle/SQL Server/MS Access এর জন্যঃ
ALTER TABLE Student_details
DROP CONSTRAINT check_student;
আরও দেখুন...